Transform coding techniques and systems for compressing video motion pictures are well-known. One such video coding system is defined in the CCITT recommendation H.261 (P.times.64 kbps standard). An output buffer and a buffer/quantizer controller are essential elements of this type of video coding system. The output buffer stores encoded information supplied to it in a first-in, first-out manner, typically prior to transmission, and the buffer/quantizer controller regulates the buffer fullness by determining the quantity of information supplied to the buffer. It is required that the output buffer not become so full as to be incapable of accepting additional information beyond what it has already stored since such additional information would be lost. Similarly, it is desirable that the output buffer does not become and/or remain empty because this results in an inefficient utilization of the available bandwidth.
Several methods for adjusting the quantization step sizes and thereby regulating the fullness level of the output buffer have been proposed. However, for certain image types these prior methods may require drastic changes in the value of the quantization step size employed during the compression of a single image frame. This, in turn, results in non-uniform quality when the resulting compressed image contained within the frame is reconstructed. Such non-uniformity in quality creates a displeasing effect that is undesirable to viewers of the reconstructed image.
Other prior methods for regulating quantization step sizes and output buffer fullness explicity compute statistical analyses of the images to be processed. Such methods are capable of producing compressed images which can be reconstructed with nearly uniform quality. However, these prior methods require a large number of computations to perform the necessary analyses which are in addition to those computations needed to accomplish the regular coding process. This requirement of added computations increases the cost of such video coders.
Another problem encountered in employing low bit rate video coding is that the channel rate can at times be insufficient to encode the image contained in each frame with good quality. Thus, a tradeoff may be had between the frame rate, i.e., the number of frames transmitted per second (frames/sec), and the quality of the images contained within those frames. Such a tradeoff may be fixed for an image sequence, i.e., a constant frame rate coding mode is employed, or it may be adaptively specified, i.e., variable frame rate coding mode is employed. A constant frame rate coding mode, although simple to implement, is inefficient because it is incapable of adjusting the coding of an image sequence to match the actual motion content and image complexity of the sequence. Typical prior variable rate coders did not optimize the number of frames coded to achieve the best possible results within given parameters.